<?php
namespace App\Console\Command;

/**
 * 命名空间监听
 * @package App\Console\Command
 */
abstract class AbstractListen {

    /**
     * 重新启动监听
     * @param array $subNamespaces
     * @return mixed
     */
    abstract public function restart (array $subNamespaces);


    /**
     * 启动监听
     * @param array $subNamespaces
     * @return mixed
     */
    abstract public function start (array $subNamespaces);

    /**
     * 终止监听
     * @return mixed
     */
    abstract public function stop ();

    /**
     * 事件回调
     * @param array $data
     * @return mixed
     */
    abstract public function callback (array $data);

}
